package es.udc.acs.banco.sesion;

import java.io.Serializable;

public abstract class SesionState implements Serializable{

	private static final long serialVersionUID = 5120628855569672583L;

	public abstract String procesarRControl(String tipo);
	
	public abstract String procesarRDatos();

	public abstract String obtenerEstado();
	
	public abstract boolean detenerTrafico(Sesion sesion);
	
	public abstract boolean reanudarTrafico(Sesion sesion);
	
	public abstract boolean aperturaSesion(Sesion sesion);
	
	public abstract boolean cierreSesion(Sesion sesion);
	
	public abstract boolean enRecuperacion(Sesion sesion);
	
	public abstract boolean finRecuperacion(Sesion sesion);
	
	public abstract boolean puedoDetenerTrafico();
	
	public abstract boolean puedoReanudarTrafico();
	
	public abstract boolean puedoAperturaSesion();
	
	public abstract boolean puedoCierreSesion();
	
	public abstract boolean puedoEnRecuperacion();
	
	public abstract boolean puedoFinRecuperacion();
}
